/*
 * Pajaro.cpp
 *
 *  Created on: 16/10/2012
 *      Author: Ignacio Galvez
 */
#define G 10.0
#include "Pajaro.h"
#include <cmath>


Pajaro::Pajaro(double anguloDeCaida, double normaVelocidadInicial,
		double puntosDeVida, double x, double y,double tiempoInicial): 
		Daniable(puntosDeVida, x, y), anguloDeCaida(anguloDeCaida),
		normaVelocidadInicial(normaVelocidadInicial),xInicial(x), yInicial(y),
		tiempoInicial(tiempoInicial) {}

double Pajaro::DANIO_HUEVO_BLANCO = 1;
double Pajaro::DANIO_HUEVO_CODORNIZ = 0.5;
double Pajaro::DANIO_HUEVO_POCHE = 1;
double Pajaro::DANIO_HUEVO_RELOJ = 1;
double Pajaro::EXPLOSION_HUEVO_BLANCO = 0.5;
void Pajaro::serDaniadoPorPajaroRojo() {}
void Pajaro::serDaniadoPorPajaroVerde() {}
void Pajaro::serDaniadoPorPajaroAzul() {}
void Pajaro::serDaniadoPorHuevoBlanco() {
disminuirPuntosDeVida( DANIO_HUEVO_BLANCO);
}
void Pajaro::serDaniadoPorHuevoCodorniz() {
disminuirPuntosDeVida( DANIO_HUEVO_CODORNIZ);
}
void Pajaro::serDaniadoPorHuevoPoche() {
disminuirPuntosDeVida(DANIO_HUEVO_POCHE);
}
void Pajaro::serDaniadoPorHuevoReloj() {
disminuirPuntosDeVida(DANIO_HUEVO_RELOJ);
}

void Pajaro::recibirExplosionHuevoBlanco() {
	disminuirPuntosDeVida(EXPLOSION_HUEVO_BLANCO);
}


double Pajaro::getAnguloDeCaida(){
	return anguloDeCaida;
}
void Pajaro::setAnguloCaida(double angulo){
anguloDeCaida = angulo;
}
void   Pajaro::modificarVelocidadInicial(double factor) {
	normaVelocidadInicial = normaVelocidadInicial * factor;
}
void Pajaro::mover(double t) {
setPocisionX(xInicial + normaVelocidadInicial * cos(anguloDeCaida) * 
	(t - tiempoInicial));
setPosicionY(yInicial + normaVelocidadInicial * sin(anguloDeCaida) *
 (t - tiempoInicial) - 	0.5 * G * pow((t - tiempoInicial), 2));
}

void   Pajaro::setXinicial(double xInicial) {
	this->xInicial = xInicial;
}

void   Pajaro::setYinicial(double yInicial) {
	this->yInicial = yInicial;
}
double Pajaro::getXinicial() {
	return xInicial;
}

double Pajaro::getYinicial() {
	return yInicial;
}

Pajaro::~Pajaro() {
	// TODO Auto-generated destructor stub
}


